// foo();

function foo() {
    console.log("hello i am foo")
}


var bar = function(name) { console.log("i am bar " + name) };
// bar('jay');
// bar1('周杰伦')
// function foo() {
//     console.log('葫芦娃葫芦娃')
// }

// (function(name) {
//     console.log('自调用函数~:' + name)
// })('jay')
// var f = function(name) {
//     console.log('自调用函数~:' + name)
// }
// f('jay')


function f1() {
    var a = 1;
    f1g = 'f1里面定义的全部变量'

}

function f2() {
    var b = 2;
    console.log(f1g)
}
// f1()
// f2()
var x = 1;
var g = "全局变量！"

// function f3() {
//     var x = 100;
//     console.log(x);

//     function sub() {
//         var subX = 'i am sub x'
//         console.log(x);
//         console.log(g)
//             // console.log(b);
//     };

//     sub()
//         // console.log(subX)
// };
// f3()

// function func1() {
//     var s = "func1内部变量";

//     function func2() {
//         var res = s + "func2调用了";
//         return res
//     }
//     return func2
// }
// var f = func1();
// var x = f();
// console.log(x)
// function inc() {
//     var i = 0;

//     var subInc = function() {
//             i++;
//             console.log('subinc is call')
//             console.log(i);
//             return 1

//         }
//         // return 1
//     return subInc
// }
// var incS = inc()


// incS();
// incS();
// incS();
// incS();

// function fn(n) {
//     if (n == 1) {
//         return 1
//     } else {
//         return n * fn(n - 1)
//     }
// }

// function fn1() {
//     return fn(8)
// }